package org.dr.springmvcdemo.streamAPI;


import java.util.Arrays;
import java.util.List;
/**
 * 终端操作与中间操作
 * 中间操作（如filter、map、sorted等）返回一个新流，允许流在元素上进行链式操作；
 * 终端操作（如collect、forEach、sum等）会触发流的遍历并产生结果
 */
public class TerminalVsIntermediateOperations {
    public static void main(String[] args) {
        List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);

        // 中间操作，filter过滤出偶数
        numbers.stream()
                .filter(num -> num % 2 == 0)
                .forEach(System.out::println);

        // 终端操作，计算所有偶数的和
        int sum = numbers.stream()
                .filter(num -> num % 2 == 0)
                .mapToInt(num -> num)
                .sum();

        System.out.println("Sum of even numbers: " + sum);
    }
}
